package git.soulbgm.pojo;

import java.util.Date;

import cn.afterturn.easypoi.excel.annotation.Excel;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.SqlCondition;
import com.baomidou.mybatisplus.annotation.TableField;

/**
 * 告警规则信息表
 *
 * @author SoulBGM
 * @date 2020-11-18 10:03:05
 */
public class AlarmRuleInfo {

    /**
     * ID
     */
    private Long id;

    /**
     * 告警规则名称
     */
    @Excel(name = "告警规则名称")
    @TableField(condition = SqlCondition.LIKE)
    private String ruleName;

    /**
     * 规则类型（详情见字典表）
     */
    @Excel(name = "规则类型", dict = "alarm_rule_list")
    private String ruleType;

    /**
     * 事件编号（详情见字典表）
     */
    @Excel(name = "事件编号", dict = "alarm_rule_list")
    private String eventCode;

    /**
     * 告警阈值
     */
    @Excel(name = "告警阈值", type = 10)
    private Double threshold;

    /**
     * 告警等级 1 一般告警 2 重要告警 3 严重告警
     */
    @Excel(name = "告警等级", replace = {"一般告警_1", "重要告警_2", "严重告警_3"})
    private Integer level;

    /**
     * 连续产生的次数 为1时则代表超出阈值就告警
     */
    @Excel(name = "连续次数", type = 10)
    private Integer continuousNumber;

    /**
     * 该告警规则是否需要机器参与判断是否结束告警 1 机器参与 0 不参与 人工可直接结束告警
     */
    @Excel(name = "机器是否参与", type = 10)
    private Integer machineParticipation;

    /**
     * 修改时间
     */
    @Excel(name = "修改时间", format = "yyyy-MM-dd HH:mm:ss")
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Date updateTime;

    /**
     * 创建时间
     */
    @Excel(name = "创建时间", format = "yyyy-MM-dd HH:mm:ss")
    @TableField(fill = FieldFill.INSERT)
    private Date createTime;

    /**
     * 删除标识 0 未删除 1 删除
     */
    private Integer deleteFlag;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getRuleName() {
        return ruleName;
    }

    public void setRuleName(String ruleName) {
        this.ruleName = ruleName;
    }

    public String getRuleType() {
        return ruleType;
    }

    public void setRuleType(String ruleType) {
        this.ruleType = ruleType;
    }

    public String getEventCode() {
        return eventCode;
    }

    public void setEventCode(String eventCode) {
        this.eventCode = eventCode;
    }

    public Double getThreshold() {
        return threshold;
    }

    public void setThreshold(Double threshold) {
        this.threshold = threshold;
    }

    public Integer getLevel() {
        return level;
    }

    public void setLevel(Integer level) {
        this.level = level;
    }

    public Integer getContinuousNumber() {
        return continuousNumber;
    }

    public void setContinuousNumber(Integer continuousNumber) {
        this.continuousNumber = continuousNumber;
    }

    public Integer getMachineParticipation() {
        return machineParticipation;
    }

    public void setMachineParticipation(Integer machineParticipation) {
        this.machineParticipation = machineParticipation;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Integer getDeleteFlag() {
        return deleteFlag;
    }

    public void setDeleteFlag(Integer deleteFlag) {
        this.deleteFlag = deleteFlag;
    }
}